Feb 23, 2022

Rise of the Triad IPX troubles


Rise of the Triad's multiplayer seems fun! It is very chaotic, especially with the heavy use of missile weapons, because of the game's nature. But there is one thing that is preventing multiplayer from being fun, and that would be the network code. In the case of playing with others online through DOSBox's IPX to UDP tunneling, even when playing with somebody in the States, the game would be slower than usual.

Also, god forbid that you have more than 3 players playing, especially in different states or countries. It's like playing Unreal Deathmatch, but the game speed is set to the slowest; it's ridiculous.

The closest you could've had to a playable ROTT multiplayer experience is through a source port named WinROTTGL, along with using a VPN service like Radmin VPN and ipxwrapper because DirectPlay fucking sucks. I thought to myself, What if I took a look at the source code just to see what I could do to address this issue?

You see, if you played a modem game of Rise of the Triad, it seems a bit more playable than on the IPX protocol; this was done by duplicating the gametics from 35 frames per second to 17.5 frames per second. While that lowers the game's framerate, it also reduces latency. Even Doom Engine games had a command line for this purpose, possibly meant for DWANGO, an early online multiplayer gaming service from the mid-1990s.

So I found a way to change the gametics for the IPX. EXE file to be the same as the one for the serial. EXE (meant for modem/null-modem games), and the results were somewhat better, but with some caveats. If you play this game with a mouse, then you might have a hard time because, for whatever reason, the mouse acts slow from time to time. It's like playing with 4 mouse sensitivity, and for some reason, it sets it back to 0.8 mouse sensitivity whenever something happens with latency. It's weird.

Anyway, if you want to try it out, you can find it on this site over at the files page. But for now, you can watch this video I recorded.